package main

import (
	"github.com/gin-gonic/gin"
	"github.com/spf13/viper"
	"myplatform/libs/valiutils"
	"myplatform/model"
	"myplatform/router"
)

func main() {
	//得到gin的核心对象
	//生成一个实例，这个实例是gin.Engine ，这个实例包含了网站的全部内容
	//g := gin.Default()  //Default() 使用了logger() Recover()中间件
	//g.GET("/", func(c *gin.Context) {
	//	c.String(200, "hello,gin")
	//})
	//g.GET("/", Index)

	//不需要原本的logger()和Recover()中间件
	g := gin.New()

	//配置静态文件位置
	g.Static("/static", "./static")

	//配置html文件位置
	g.LoadHTMLGlob("templates/*")

	////这一段是不是冗余了，有放在model.Init()里面
	////读取配置   //命令行传入
	//conf := config.Config{} //实例化config包中结构体Config
	//if err := conf.InitConfig(); err != nil {
	//	panic(err) //读取配置文件失败，直接抛出异常，终止程序运行
	//}

	//初始化验证器
	valiutils.InitValidateUtils()

	//全局配置初始化，连接数据库
	model.Init()
	defer model.Close()

	//gin.H{}定义处，响应数据
	router.Load(g)
	//student.StudentLoad(g)
	//跑起服务
	g.Run(viper.GetString("addr"))

}
